Integrated circuits for signal processing can be configured as synchronous circuits and asynchronous circuits. A synchronous circuit operates based on a control clock signal to synchronize operations of different processing components within the synchronous circuit. Different processing components in a synchronous circuit usually operate at different speeds. Synchronization of these different processing components tends to require the clock speed of the control clock signal to accommodate for the slowest processing speed of the processing components. Many digital processors are such synchronous processing devices, including various microprocessors used in personal computers, mobile phones, mobile computing devices and other devices performing digital signal processing. The speed of a synchronous processor can be increased by increasing the clock speed which forcing faster execution of instructions.
Most synchronous digital processors are built based on CMOS technology. The scaling of CMOS technology into ultra-deep sub-micron range has posed some serious challenges for digital circuits designers. With the transistor threshold voltage fixed [Horowitz 2007], VDD has been scaling slowly as the transistor reduces in size. Therefore, the circuit performance improvements come at an increased energy consumption. The energy efficiency issue has become a major design constraint in modern chip design. Furthermore, process variations in deep sub-micron range have made devices less robust and this issue increasingly makes it difficult for synchronous designers to overcome the problems associated with clock skew rates and clock distribution [Dally and Poulton 1998].
An asynchronous circuit, on the other hand, eliminates synchronization of different processing components to a common clock signal by operating different processing components as fast as permitted by their structures and operating environments or conditions. Two processing components in a pipeline within an asynchronous circuit communicate with each other via handshake signaling. Such an asynchronous processor can be optimized for fast processing by pipelining techniques based on unique properties of asynchronous processing, can be configured to have lower design complexity, enhanced energy efficiency, and improved average-case performance. Some features and advantages of asynchronous circuits are described in an article entitled “A Case for Asynchronous Computer Architecture” and published by Rajit Manohar of Cornell University in 2000.